package com.chen.springboot.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chen.springboot.entity.Item;
import com.chen.springboot.entity.User;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface ItemService extends IService<Item> {

    /**
     * 查询所有的接口
     */
    List<Item> getAll(String search);

    /**
     * 新增商品
     */
//    void save(Item item);
    void  saveItem(Item item);

    /**
     * 更新信息
     */
    void update(Item item);

    /**
     * 删除信息
     */
    void delete(Long id);
    void deleteBatch(List<Long> ids);


    /**
     * @param pageNum  当前页码
     * @param pageSize 每一页显示多少个数据
     * @param search   模糊搜索的关键词
     * @return 返回一个封装好的res
     */
    Page<Item> findPage(Integer pageNum, Integer pageSize, String search);

    /**
     * 根据id查找商品
     */
    Item findById(Integer id);

    /**
     * 根据 cid 来查询不同分类的商品
     */
    List<Item> findByCid(Integer cid);

    /**
     * 用post进行查询所有商品数据
     */
    Page<Item> findPages(Integer pageNum, Integer pageSize, String title);

    //下载商品数据导入模板
    void downloadItemTemplate(HttpServletResponse response);
    void saveBatchItem(List<Item> items);
    //导入商品数据
    void importItemExcel(MultipartFile file, boolean isCover) throws Exception;

    //导出商品数据
    void exportItemData(HttpServletResponse response);
}
